1. Field of the Invention
The present invention generally relates to storage systems that service multiple workloads, each with potentially different quality of service (QOS) requirements, and more particularly to an improved system for determining whether new workloads can be added to an existing system.
2. Description of the Related Art
In storage systems that service multiple workloads, the multiple workloads may originate from different sources including different applications, different departments of a company, or from totally independent customers, as in the case of a Storage Service Provider (SSP). One issue in shared storage systems that provide service guarantees to existing workloads is how to determine whether a new workload that wants to be serviced by the storage system should be accepted for service or not.
The degree to which a shared storage system meets QOS requirements is usually evaluated using a contractual agreement called a Service Level Agreement (SLA). The SLA spells out the performance Service Level Guarantees (SLGs) that must be satisfied by the system. An example of a SLG is that p percent of the time over some interval (example, 1 day) the operator of the storage system will guarantee that if the offered load is under x megabytes per second or y I/Os per second, then the delivered response time will be less than z milliseconds. If the operator reneges on this promise, then a financial penalty is incurred. In such a scenario, the operator needs a foolproof way to, given an installed storage system, determine with a high degree of certainty whether such an agreement can be signed for a new customer's workload without incurring a net loss as a result of servicing the new customer and ensure that the system has enough reserve storage performance resource such that existing workloads will not suffer to the extent that a penalty will result when the new workload is accepted for servicing. The proposed invention solves both these issues. In addition, the invention can be used to evaluate the value of migrating existing data on the shared storage system, so as to better utilize the storage resources.